package com.lagou.protocol.serializer.impl;

import com.alibaba.fastjson.JSON;
import com.lagou.protocol.serializer.Serializer;

import java.io.IOException;


public class JSONSerializer implements Serializer {
    /**
     * 序列化
     *
     * @param object 要序列化的对象
     * @return 序列化的结果
     */
    @Override
    public byte[] serialize(Object object) throws IOException {
        return JSON.toJSONBytes(object);
    }


    /**
     * 反序列化
     *
     * @param clazz 目标类
     * @param bytes 待反序列化的字节
     * @return 反序列化后的目标对象
     */
    @Override
    public <T> T deserialize(Class<T> clazz, byte[] bytes) throws IOException {
        return JSON.parseObject(bytes, clazz);
    }
}

